Slime

Requires ECL threads.

This should work with any Slime version that plays together with ECL.

Prepare

Run


Loading files

You should always use qload instead of load, if the file contains any EQL code.

It's not strictly necessary in every case, but not doing so may result in slow loading (many thread switches, for each EQL function call), or may not even work (e.g. if the loaded code uses Qt threads internally).


Help

For help see the qapropos, qfind-bound, qproperties and qgui functions.

To kill the swank process (Slime), use function qquit / qq (since quitting Emacs will not kill it).


Notes

If you notice slow execution of a function called from the REPL, try to wrap it in qrun/qrun*, as this will reduce eventual, multiple thread switches (for each EQL function call) to a single one.

All EQL functions are wrapped in qrun* (see lib/thread-safe.lisp), so it's safe to call them either directly from the REPL or using 'eval region' (or from any other ECL thread).

If the Slime REPL hangs, you can simply try to connect again (losing the old connection): no need to restart Lisp.

This Slime mode is both convenient and simple to use, but conses a little more for every EQL function call.
If you absolutely want direct EQL function calls, please see the less convenient Slime REPL Hook mode.


How does it work?